﻿#region Copyright Notice
// 
// 
//  
//  Copyright (c) 2009-2011 Anindya Chatterjee
//  
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//  
//      http://www.apache.org/licenses/LICENSE-2.0
//  
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
// 
// 
#endregion
using System;

namespace AbstractClass.Runtime.Caching
{
    /// <summary>
    /// Represents the method that will handle the <see cref="Cache&lt;TKey, TValue&gt;"/> events.
    /// </summary>
    /// <typeparam name="TKey">The type of the key associated with the entry that caused the cache event.</typeparam>
    /// <typeparam name="TValue">The type of the value associated with the entry</typeparam>
    /// <param name="sender">The source of the event.</param>
    /// <param name="e">A <see cref="CacheEventArgs&lt;TKey, TValue&gt;"/> that contains event data.</param>
    [Serializable]
    public delegate void CacheOperationHandler<TKey, TValue>(object sender, CacheEventArgs<TKey, TValue> e);
}